iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 17
0

今天同事在看一段取亂數的程式碼,經過討論之後才發現原來對於所有人來說取亂數不是理所當然。

思考:
如何取 40 ~ 80 間 (不包含80) 的亂數呢?

我們用 Math.random() 的語法可以得到一個 0~1 之間不包含1的亂數

Math.random();
//結果:0.22769931653396225

取亂數的方法:

  1. 將 Math.random 結果換算成取 1~* 並去掉小數點 (注意 * 要大於取餘數的數字)
  2. 用取餘數得到想要的亂數範圍
  3. 如果不是從 0 開始,加上要從多少開始數字
Math.floor(Math.random()*100)%40+40
//結果:0.22769931653396225

逐一拆解便為

  1. Math.random()*100 //可取 0~99之間的數字
  2. Math.floor(Math.random()*100) //取小數點去掉後最小整數
  3. Math.floor(Math.random()*100)%40 //可取 0~39之間的餘數
  4. Math.floor(Math.random()*100)%40+40 //可取 40~79之間的餘數

而終極密碼的一開始的數字變為這樣取出來的!


上一篇
一個 JS 學習者的日常 day 15
下一篇
一個 JS 學習者的日常 day17
系列文
一個 JS 學習者的日常30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言